/**
 * Historico de alteração
 *
 * Data         Autor   Descrição
 * 24/10/2010   Jerry   Criação do cabeçalho.
 *
 */
package railbee.banco.dto;

import java.io.Serializable;
import java.util.*;

import railbee.banco.dao.*;
import railbee.banco.exceptions.*;
import railbee.banco.factory.*;

public class Trens implements Serializable
{
	/** 
	 * This attribute maps to the column data in the trens table.
	 */
	protected Date data;

	/** 
	 * This attribute maps to the column hora in the trens table.
	 */
	protected Date hora;

	/** 
	 * This attribute maps to the column estacao in the trens table.
	 */
	protected String estacao;

	/** 
	 * This attribute maps to the column velocidade in the trens table.
	 */
	protected float velocidade;

	/** 
	 * This attribute represents whether the primitive attribute velocidade is null.
	 */
	protected boolean velocidadeNull = true;

	/** 
	 * This attribute maps to the column pressao in the trens table.
	 */
	protected float pressao;

	/** 
	 * This attribute represents whether the primitive attribute pressao is null.
	 */
	protected boolean pressaoNull = true;

	/** 
	 * This attribute maps to the column tensao in the trens table.
	 */
	protected float tensao;

	/** 
	 * This attribute represents whether the primitive attribute tensao is null.
	 */
	protected boolean tensaoNull = true;

	/** 
	 * This attribute maps to the column corrente in the trens table.
	 */
	protected float corrente;

	/** 
	 * This attribute represents whether the primitive attribute corrente is null.
	 */
	protected boolean correnteNull = true;

	/** 
	 * This attribute maps to the column posicao in the trens table.
	 */
	protected float posicao;

	/** 
	 * This attribute represents whether the primitive attribute posicao is null.
	 */
	protected boolean posicaoNull = true;

	/** 
	 * This attribute maps to the column num_passageiros in the trens table.
	 */
	protected int numPassageiros;

	/** 
	 * This attribute represents whether the primitive attribute numPassageiros is null.
	 */
	protected boolean numPassageirosNull = true;

	/** 
	 * This attribute maps to the column id_seq_trem in the trens table.
	 */
	protected long idSeqTrem;

	/**
	 * Method 'Trens'
	 * 
	 */
	public Trens()
	{
	}

	/**
	 * Method 'getData'
	 * 
	 * @return Date
	 */
	public Date getData()
	{
		return data;
	}

	/**
	 * Method 'setData'
	 * 
	 * @param data
	 */
	public void setData(Date data)
	{
		this.data = data;
	}

	/**
	 * Method 'getHora'
	 * 
	 * @return Date
	 */
	public Date getHora()
	{
		return hora;
	}

	/**
	 * Method 'setHora'
	 * 
	 * @param hora
	 */
	public void setHora(Date hora)
	{
		this.hora = hora;
	}

	/**
	 * Method 'getEstacao'
	 * 
	 * @return String
	 */
	public String getEstacao()
	{
		return estacao;
	}

	/**
	 * Method 'setEstacao'
	 * 
	 * @param estacao
	 */
	public void setEstacao(String estacao)
	{
		this.estacao = estacao;
	}

	/**
	 * Method 'getVelocidade'
	 * 
	 * @return float
	 */
	public float getVelocidade()
	{
		return velocidade;
	}

	/**
	 * Method 'setVelocidade'
	 * 
	 * @param velocidade
	 */
	public void setVelocidade(float velocidade)
	{
		this.velocidade = velocidade;
		this.velocidadeNull = false;
	}

	/**
	 * Method 'setVelocidadeNull'
	 * 
	 * @param value
	 */
	public void setVelocidadeNull(boolean value)
	{
		this.velocidadeNull = value;
	}

	/**
	 * Method 'isVelocidadeNull'
	 * 
	 * @return boolean
	 */
	public boolean isVelocidadeNull()
	{
		return velocidadeNull;
	}

	/**
	 * Method 'getPressao'
	 * 
	 * @return float
	 */
	public float getPressao()
	{
		return pressao;
	}

	/**
	 * Method 'setPressao'
	 * 
	 * @param pressao
	 */
	public void setPressao(float pressao)
	{
		this.pressao = pressao;
		this.pressaoNull = false;
	}

	/**
	 * Method 'setPressaoNull'
	 * 
	 * @param value
	 */
	public void setPressaoNull(boolean value)
	{
		this.pressaoNull = value;
	}

	/**
	 * Method 'isPressaoNull'
	 * 
	 * @return boolean
	 */
	public boolean isPressaoNull()
	{
		return pressaoNull;
	}

	/**
	 * Method 'getTensao'
	 * 
	 * @return float
	 */
	public float getTensao()
	{
		return tensao;
	}

	/**
	 * Method 'setTensao'
	 * 
	 * @param tensao
	 */
	public void setTensao(float tensao)
	{
		this.tensao = tensao;
		this.tensaoNull = false;
	}

	/**
	 * Method 'setTensaoNull'
	 * 
	 * @param value
	 */
	public void setTensaoNull(boolean value)
	{
		this.tensaoNull = value;
	}

	/**
	 * Method 'isTensaoNull'
	 * 
	 * @return boolean
	 */
	public boolean isTensaoNull()
	{
		return tensaoNull;
	}

	/**
	 * Method 'getCorrente'
	 * 
	 * @return float
	 */
	public float getCorrente()
	{
		return corrente;
	}

	/**
	 * Method 'setCorrente'
	 * 
	 * @param corrente
	 */
	public void setCorrente(float corrente)
	{
		this.corrente = corrente;
		this.correnteNull = false;
	}

	/**
	 * Method 'setCorrenteNull'
	 * 
	 * @param value
	 */
	public void setCorrenteNull(boolean value)
	{
		this.correnteNull = value;
	}

	/**
	 * Method 'isCorrenteNull'
	 * 
	 * @return boolean
	 */
	public boolean isCorrenteNull()
	{
		return correnteNull;
	}

	/**
	 * Method 'getPosicao'
	 * 
	 * @return float
	 */
	public float getPosicao()
	{
		return posicao;
	}

	/**
	 * Method 'setPosicao'
	 * 
	 * @param posicao
	 */
	public void setPosicao(float posicao)
	{
		this.posicao = posicao;
		this.posicaoNull = false;
	}

	/**
	 * Method 'setPosicaoNull'
	 * 
	 * @param value
	 */
	public void setPosicaoNull(boolean value)
	{
		this.posicaoNull = value;
	}

	/**
	 * Method 'isPosicaoNull'
	 * 
	 * @return boolean
	 */
	public boolean isPosicaoNull()
	{
		return posicaoNull;
	}

	/**
	 * Method 'getNumPassageiros'
	 * 
	 * @return int
	 */
	public int getNumPassageiros()
	{
		return numPassageiros;
	}

	/**
	 * Method 'setNumPassageiros'
	 * 
	 * @param numPassageiros
	 */
	public void setNumPassageiros(int numPassageiros)
	{
		this.numPassageiros = numPassageiros;
		this.numPassageirosNull = false;
	}

	/**
	 * Method 'setNumPassageirosNull'
	 * 
	 * @param value
	 */
	public void setNumPassageirosNull(boolean value)
	{
		this.numPassageirosNull = value;
	}

	/**
	 * Method 'isNumPassageirosNull'
	 * 
	 * @return boolean
	 */
	public boolean isNumPassageirosNull()
	{
		return numPassageirosNull;
	}

	/**
	 * Method 'getIdSeqTrem'
	 * 
	 * @return long
	 */
	public long getIdSeqTrem()
	{
		return idSeqTrem;
	}

	/**
	 * Method 'setIdSeqTrem'
	 * 
	 * @param idSeqTrem
	 */
	public void setIdSeqTrem(long idSeqTrem)
	{
		this.idSeqTrem = idSeqTrem;
	}

	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof Trens)) {
			return false;
		}
		
		final Trens _cast = (Trens) _other;
		if (data == null ? _cast.data != data : !data.equals( _cast.data )) {
			return false;
		}
		
		if (hora == null ? _cast.hora != hora : !hora.equals( _cast.hora )) {
			return false;
		}
		
		if (estacao == null ? _cast.estacao != estacao : !estacao.equals( _cast.estacao )) {
			return false;
		}
		
		if (velocidade != _cast.velocidade) {
			return false;
		}
		
		if (velocidadeNull != _cast.velocidadeNull) {
			return false;
		}
		
		if (pressao != _cast.pressao) {
			return false;
		}
		
		if (pressaoNull != _cast.pressaoNull) {
			return false;
		}
		
		if (tensao != _cast.tensao) {
			return false;
		}
		
		if (tensaoNull != _cast.tensaoNull) {
			return false;
		}
		
		if (corrente != _cast.corrente) {
			return false;
		}
		
		if (correnteNull != _cast.correnteNull) {
			return false;
		}
		
		if (posicao != _cast.posicao) {
			return false;
		}
		
		if (posicaoNull != _cast.posicaoNull) {
			return false;
		}
		
		if (numPassageiros != _cast.numPassageiros) {
			return false;
		}
		
		if (numPassageirosNull != _cast.numPassageirosNull) {
			return false;
		}
		
		if (idSeqTrem != _cast.idSeqTrem) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	public int hashCode()
	{
		int _hashCode = 0;
		if (data != null) {
			_hashCode = 29 * _hashCode + data.hashCode();
		}
		
		if (hora != null) {
			_hashCode = 29 * _hashCode + hora.hashCode();
		}
		
		if (estacao != null) {
			_hashCode = 29 * _hashCode + estacao.hashCode();
		}
		
		_hashCode = 29 * _hashCode + Float.floatToIntBits(velocidade);
		_hashCode = 29 * _hashCode + (velocidadeNull ? 1 : 0);
		_hashCode = 29 * _hashCode + Float.floatToIntBits(pressao);
		_hashCode = 29 * _hashCode + (pressaoNull ? 1 : 0);
		_hashCode = 29 * _hashCode + Float.floatToIntBits(tensao);
		_hashCode = 29 * _hashCode + (tensaoNull ? 1 : 0);
		_hashCode = 29 * _hashCode + Float.floatToIntBits(corrente);
		_hashCode = 29 * _hashCode + (correnteNull ? 1 : 0);
		_hashCode = 29 * _hashCode + Float.floatToIntBits(posicao);
		_hashCode = 29 * _hashCode + (posicaoNull ? 1 : 0);
		_hashCode = 29 * _hashCode + numPassageiros;
		_hashCode = 29 * _hashCode + (numPassageirosNull ? 1 : 0);
		_hashCode = 29 * _hashCode + (int) (idSeqTrem ^ (idSeqTrem >>> 32));
		return _hashCode;
	}

	/**
	 * Method 'createPk'
	 * 
	 * @return TrensPk
	 */
	public TrensPk createPk()
	{
		return new TrensPk(idSeqTrem);
	}

	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "br.com.railbee.banco.dto.Trens: " );
		ret.append( "data=" + data );
		ret.append( ", hora=" + hora );
		ret.append( ", estacao=" + estacao );
		ret.append( ", velocidade=" + velocidade );
		ret.append( ", pressao=" + pressao );
		ret.append( ", tensao=" + tensao );
		ret.append( ", corrente=" + corrente );
		ret.append( ", posicao=" + posicao );
		ret.append( ", numPassageiros=" + numPassageiros );
		ret.append( ", idSeqTrem=" + idSeqTrem );
		return ret.toString();
	}

}
